home *** CD-ROM | disk | FTP | other *** search
/ PC Welt 2000 October / PC-WELT 10-2000.ISO / software / boot / PCWBOOT.EXE / QVIEW / DOC_ENG / QVIEW.DOC < prev    next >
Encoding:
Text File  |  1998-06-26  |  65.7 KB  |  1,373 lines

  1.            ┌──────    ┌──────    ┌──────
  2.          ┌──    ┌── ┌──    ┌── ┌──    ┌──
  3.         ┌──    ┌── ┌──        ┌──
  4.        ┌───────── ┌──  ┌───  ┌──
  5.       ┌──    ┌── ┌──    ┌── ┌──    ┌──
  6.      ┌──    ┌──  ┌───────   ┌───────
  7.  
  8.                            ┌────  ┌────  ┌───── ┌────  ┌─  ┌─ ┌───── ┌─────
  9.                           ┌─  ┌─ ┌─  ┌─ ┌─  ┌─ ┌─  ┌─ ┌─  ┌─ ┌─       ┌─
  10.                          ┌────  ┌────  ┌─  ┌─ ┌─  ┌─ ┌─  ┌─ ┌─       ┌─
  11.                         ┌─     ┌─  ┌─ ┌───── ┌────  ┌───── ┌─────   ┌─
  12.  
  13.  
  14.              ▀▀▀▀▀▀\     ▀▀\    ▀▀\  ▀▀▀▀▀▀▀\   ▀▀▀▀▀▀▀\  ▀▀\      ▀▀\
  15.            ▀▀\    ▀▀\   ▀▀\    ▀▀\     ▀▀\     ▀▀\       ▀▀\      ▀▀\
  16.           ▀▀\    ▀▀\   ▀▀\    ▀▀\     ▀▀\     ▀▀\       ▀▀\      ▀▀\
  17.          ▀▀\    ▀▀\   ▀▀\    ▀▀\     ▀▀\     ▀▀▀▀▀▀▀\  ▀▀\  ▀\  ▀▀\
  18.         ▀▀\ ▀\ ▀▀\   ▀▀\    ▀▀\     ▀▀\     ▀▀\       ▀▀\ ▀▀\  ▀▀\
  19.         ▀▀\  ▀▀▀\    ▀▀\  ▀▀\      ▀▀\     ▀▀\        ▀▀\▀▀▀\▀▀\
  20.         ▀▀▀▀▀▀\      ▀▀▀▀▀\     ▀▀▀▀▀▀▀\  ▀▀▀▀▀▀▀\    ▀▀\  ▀▀\
  21.               ▀▀\
  22.  
  23.   Release 2.69.03  26 June 1998                               Is devoted to ...
  24. ░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░
  25. ▐▀▄▀ Product support and distribution ▄▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀▌
  26. ░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░
  27.  
  28.          ┌──────────────────────────────────────────────────────────╖
  29.          │ Welcome to the echo-conference QVIEW.SUPPORT in Fidonet! ║
  30.          ╘══════════════════════════════════════════════════════════╝
  31.  
  32.      This program is freeware, so you may feel yourself free to use and/or
  33. distribute it but no purcase! If you want to make the mony with the help of
  34. this program please contact us to solve this problem.
  35.  
  36. ~ In the Internet there fido7.qview.support newsgroup could be found via NNTP.
  37.   Sorry, it's mostly russian speaking, but if you write english you may expect
  38.   to get an answer on english. Other languages aren't supported, sorry.
  39. ~ For the Fidonet users the latest version of QView is a file requestable at
  40.   2:5030/445 by the alias QVIEW.
  41. ~ It also could be found in Internet (refer file qview.url).
  42. ~ Shall be grateful, if you can spread fresh versions of QView in the Fidonet
  43.   and/or Internet. Just inform us where you put them, please.
  44.  
  45.  
  46. ░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░
  47. ▐▀▄▀ Table of contents ▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀▌
  48. ░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░
  49.  
  50.   1. Main features.
  51.   2. System requirements.
  52.   3. Video modes.
  53.   4. Status line.
  54.   5. String search, search with replace.
  55.   6. Assembler search.
  56.   7. Jumps, tracing, FAR-calls.
  57.   8. A few words about the internal disassembler.
  58.   9. Block operations.
  59.  10. Bookmarks.
  60.  11. Calculator.
  61.  12. Crypt-system.
  62.  13. Basing.
  63.  14. Views-history file and its dialog.
  64.  15. Configuration files qview.ini, qview.ehl, qview.fmg.
  65.  16. Help file qview.hlp.
  66.  17. User character table redefining file qview.chr.
  67.  18. Mouse support.
  68.  19. .CRK file support.
  69.  20. The comments for the instructions in AV support.
  70.  21. Editing of a file in a text mode (TV).
  71.  22. Extra service functions.
  72.  23. Controll keys.
  73.  24. Command-line options and start-up.
  74.  25. A lot of thanks.
  75.  
  76.  
  77. ░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░
  78. ▐▀▄▀ Main features ▄▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀▄▌
  79. ░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░
  80.  
  81.   ■ Viewing/editing files of unlimited size in txt/hex/asm modes: TV,HV,AV.
  82.   ■ Viewing/editing of first mbyte of memory.
  83.   ■ Viewing/editing of logic disks.
  84.   ■ Viewing/editing of physical disks.
  85.   ■ Viewing boot record of logic disks and FDD.
  86.   ■ Viewing master boot record physical HDD.
  87.   ■ Highlight of fields for HV, AV and text in TV.
  88.   ■ Support of viewing of the text in the Alt, Win and KOI-8 encodings.
  89.   ■ Auto detection of LineFeed for a file and on-fly change of it (TV).
  90.   ■ Full-file editing in an AV mode in codes and on the assembler i486.
  91.   ■ Full-file editing in an HV mode in a hex/ASCII kind.
  92.   ■ Changes saving as .CRK-type file.
  93.   ■ Current file update with the .CRK-type file information.
  94.   ■ Creation of a new file, file append and truncate features.
  95.   ■ Opening a file from the viewer (built-in file manager).
  96.   ■ Support of MS-DOS 'MZ' executable files header.
  97.   ■ Support of Windows 95/NT 'PE' executable files header.
  98.   ■ Support of Windows,OS/2,DOS 4 etc. 'NE' executable files header.
  99.   ■ Support of OS/2 'LX' executable files header.
  100.   ■ Support of Windows 95 'LE' executable files header.
  101.   ■ i80486/87 powerfull disassembler.
  102.   ■ Commenting a file (instructions) in an AV mode.
  103.   ■ Basing a start of a file.
  104.   ■ Support of jumps on jmp/call/loop.../j... etc. in disassembler.
  105.   ■ Serach of any i486/87 commands; search mask is allowed.
  106.   ■ Search of jumps/calls/pointers on the current offset (AV).
  107.   ■ Search of ASCII/hex [sub]string with an optional mask and case sensitivity.
  108.   ■ Search of ASCII/hex [sub]string with a replacement.
  109.   ■ Jump on offset in HV, AV.
  110.   ■ Saving the block from a file on a disk as Code/Dump/Assembler.
  111.   ■ Reading the block from a disk to a file as Code.
  112.   ■ Deleting/inserting the block from/to a file.
  113.   ■ Inserting a zero-bytes block to a file.
  114.   ■ Deleting the block of bytes from a file.
  115.   ■ Function of code conversion of the current file in a TV mode.
  116.   ■ Powerful crypt-system for change of a file on complex algorithm.
  117.   ■ Built-in calculator.
  118.   ■ 9 bookmarks for each viewing mode.
  119.   ■ The context-depended help system.
  120.   ■ Automatic conducting a history of viewings file.
  121.   ■ History of viewings file browsing window for the fast'n'easy file managment.
  122.   ■ Redefinition of a viewer built-in colours and other setups.
  123.   ■ Support of video modes such as 80*25, 80*30, 132*25, 132*30, etc.
  124.   ■ Mouse support.
  125.   ■ Multitasking friendly.
  126.   ■ Memory requirements of about 90 Kb RAM.
  127.   ■ External setup for the binary config control.
  128.  
  129.  
  130. ░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░
  131. ▐▀▄▀ System requirements ▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀▌
  132. ░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░
  133.  
  134.     Program requires:
  135.  
  136.          CPU:   386+
  137.        Video:   VGA+, MDA, Hercules, CGA, EGA
  138.          DOS:   MS DOS 3.3+ (4.0+ for disk view routines)
  139.       Memory:   ~90 Kb
  140.  
  141. P.S. Video: no snow checking.
  142. P.P.S. Also works well both in OS/2 and in Windows95 DOS sessions.
  143.  
  144.  
  145. ░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░
  146. ▐▀▄▀ Video modes ▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀▌
  147. ░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░
  148.  
  149.     Are supported: 80*25, 80*30, 80*50, 132*25, 132*30 etc., i.e. all known
  150. text video modes.
  151.  
  152.  
  153. ░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░
  154. ▐▀▄▀ Status line ▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀▌
  155. ░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░
  156.  
  157. ───────────────────────────────────────────────────────────────────────────────
  158. [] Filename.ext YYYYYYY   xxxxxxxx  ---------  00 M ▐ QView 2.60▐ AGC Products
  159. ───────────────────────────────────────────────────────────────────────────────
  160.    └────┬─────┘ └──┬──┘   └──┬───┘   └───┬───┘  └┤ └───────┐ └─┬┘
  161.         │         File     Current   Bookmarks  First      │  A basic
  162.         │         size     offset   (unique for column in  │  version
  163.         │       in bytes    (Hex)    each view  the text   │  of QView
  164.         │        (Dec)                 mode)    mode (Hex) │
  165.     Name of a                                              │
  166.    viewed file                      Line editor mode ──────┘
  167.                                    (I-Ins, O-Overide)
  168.  
  169.  
  170.  See also 'Mouse support'
  171.  
  172.  
  173. ░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░
  174. ▐▀▄▀ String search, search with replacement ▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀▄▌
  175. ░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░
  176.  
  177.      Search works with the whole file from the current position either to  the
  178. beginning (Backward) or to the end (Forward) of a file.  Optionally  the  case
  179. sensitive mode may be used. Default is off (both english and  russian  letters
  180. are supported). If text is entered in the hex input field, the case  sensitive
  181. flag is ignored - the case sensitive mode is used in that case.
  182.  
  183.      You may enter the searchstring in ASCII as well as in hex mode and switch
  184. between them (<tab>,<up>,<down> keys). If the 'Masking' option is on,  the '?'
  185. character is accepted as mask symbol and shown as '??' in the hex field and as
  186. '?' in the ASCII one.
  187.  
  188.      When masked search is used, the '?' symbol in searchstring should be used
  189. in place of the variable characters. If you enter something  like  'one ?y?e',
  190. the result of search may be  'one byte' as well as  'one type',  etc.  If  you 
  191. enter 'B4 ?? CD 21' the result may be either 'B4 3F CD 21'  or  'B4 40 CD 21',
  192. etc.
  193.  
  194.      There is an opportunity to enter the assembler instruction. After  you've
  195. pressed Enter key, your instruction is assembled and returned code's placed to
  196. the search fields. Press Enter key then to start search.
  197.  
  198.      Wnen searching in the non-cp866 files, you may use the search with a cur-
  199. rent character table support ([F6]). 
  200. Σπ¡¬µ¿ε »«¿ß¬á ó ΓѬπΘÑ⌐ ¬«ñ¿α«ó¬Ñ ([F6]). àß½¿ ß««ΓóÑΓßΓóπεΘ¿⌐ Σ½áú  ßíα«ΦÑ¡,
  201. Γ« »«¿ß¬ ¿ñÑΓ ó DOS (cp866) ¬«ñ¿α«ó¬Ñ, Γ.Ñ. óóÑñÑ¡¡δÑ óἿ  ß¿¼ó«½δ ó »«ñßΓα«-
  202. ¬Ñ »«¿ß¬á ¡Ñ »αÑ«íαáºπεΓß∩ »α¿ »«¿ß¬Ñ ¬ ΓѬπΘÑ⌐ ¬«ñ«ó«⌐ Γáí½¿µÑ.
  203.  
  204.      By search in the files which have been written down in other coding, it's
  205. possible to use function of search in the current coding ([F6]).  If this flag
  206. is reset (unchecked), the search runs in DOS (cp866) coding, i.e. the  entered
  207. substring will not be recoded by the search engine to the current code  table.
  208. This is unuseful when searching for 0-127 ASCII characters.
  209.  
  210.      Keys:
  211.  
  212.      F1    - Help           - help
  213.      F2    - Assembler      - accept assembler instruction
  214.      F4    - Case sensitive - case [in]sensitive mode
  215.      F5    - Use mask       - search with[out] masking
  216.      F6    - UseCharSet     - search with a current character table use
  217.      F7    - History        - searched strings history
  218.      F9    - Direction      - search forward/backward
  219.      Enter - start          - start search
  220.      Esc   - exit           - exit from dialog (skip search)
  221.  
  222.      The history dialogue is consist of the records from the  QVIEW.SRH  file,
  223. where the last searched substrings  are stored.  The last entered substring is
  224. pushing to the top of the stack. The size of history this stack is limited  to
  225. 32 records, and the oldest record is missed on stack overflow.
  226.  
  227.      Control keys:
  228.  
  229.      Up, Down          goto the previous/next record
  230.      F8, Del           delete the current record
  231.      F10               clear the history file
  232.      Enter             pick up the current record from the list
  233.      Esc               exit from the dialog (return no substring)
  234.  
  235. Note:
  236.      it is possible to forbid conducting a file of a history in QVIEW.INI.
  237.  
  238.      The search with replacement is caused on Ctrl+F7  and  differs  from  all
  239. above stated by that on Enter we are sent on input of a replacing line, and
  240. also by the absence of a choice of a direction (always forward).
  241.  
  242.  
  243. ░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░
  244. ▐▀▄▀ Assembler search ▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀▄▌
  245. ░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░
  246.  
  247.    Works in the disassembler mode.
  248.    Start    : [F6]
  249.    Continue : [Shift]-[F6]
  250.  
  251.    On pressing [F6] there is a following dialogue:
  252.  
  253.        ╔══════════════════ Assembler search ══════════════════╗
  254.        ║                                                      ║
  255.        ║  ░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░  ║
  256.        ║                                                      ║
  257.        ║  Step: Command Area: File  Offs: Begin  Type: Full   ║
  258.        ║  ~~~~          ~~~~        ~~~~         ~~~~         ║
  259.        ╚══════════════════════════════════════════════════════╝
  260.  
  261.    1. Step  - step of search - use [F2] to change
  262.            'Command' - search by instructions (commands)
  263.            'Byte   ' - search by 1-st byte (slowly, but more faithfully)
  264.  
  265.    2. Area  - the area of search - use [F3] to change
  266.            'File '   - search on the whole file
  267.            'Block'   - search in the block
  268.  
  269.    3. Offs  - offset - use [F4] to change
  270.             'Begin ' - search from the file (block) beginning
  271.             'CurOfs' - search from the file (block) current position
  272.  
  273.    4. Type  - search type - use [F5] to change
  274.             'Full '  - search for all substring entries, i.e.  if  you  simply 
  275.                        type 'MOV' - the  all instructions  of  'MOV x,y'  form
  276.                        will be found. Also if you type 'MOV AX,$FE' - the  all
  277.                        instruction 'MOV AX,00FE', 'MOV AX,FE12', etc.  will be
  278.                        found. If 'XOR ?X,BYTE PTR [SI'  substring  is  entered
  279.                        then 'xor ax,byte ptr [si+1000]',      'xor cx,byte ptr
  280.                        [si]', etc. instructions will be found.
  281.             'Small'  - exact search, i.e. when 'mov *,$1' is entered the view-
  282.                        er will found the 'MOV SI,0001', 'MOV Cl,01','MOV DWORD
  283.                        PTR [BX+SI],00000001', etc. instructions.  But if there
  284.                        would be '10' in the end of the  last  instruction,  it
  285.                        wouldn't be found.
  286.  
  287.   5. Syntax used in a mask.
  288.  
  289.      Use  the common assembler  syntax for the instructions and operands.  The
  290. case of the letters has no importance - use it as you prefer. Don't insert the
  291. unnecessary spaces - the viewer does not process them. Don't forget about  the
  292. type reduction - 'byte ptr' - is a 2 words! Feel yourself free to use the mask
  293. if you are too lazy to type them.
  294.  
  295.      Mask symbols:
  296.  
  297.           '?' - any one symbol (byte);
  298.           '*' - any substring up to a comma or end of a string;
  299.           '$' - use it befor the numeric constant to force the viewer
  300.                 to skip a leadind noughtes;
  301.           '%' - any word (up to a space, comma or end of a string);
  302.           '@' - substring of search.
  303.  
  304.    Examples:
  305.         ┌─────────────────────────────┬──────────────────────────────────────┐
  306.         │ 1. 'mov ?s,ax'              │ 'mov es,ax'                          │
  307.         │                             │ 'mov ds,ax'                          │
  308.         ├─────────────────────────────┼──────────────────────────────────────┤
  309.         │ 2. '*,$1'                   │ 'mov ax,0001'                        │
  310.         │                             │ 'cmp byte ptr [ebx],01'              │
  311.         │                             │ 'shl dx,01'                          │
  312.         ├─────────────────────────────┼──────────────────────────────────────┤
  313.         │ 3. '% % ptr fs:[e?x+$14],*' │ 'cmp byte ptr fs:[eax+14],01'        │
  314.         │                             │ 'mov dword ptr fs:[ebx+00000014],esi'│
  315.         ├─────────────────────────────┼──────────────────────────────────────┤
  316.         │ 4. 'l?s *,*'                │ 'lds si,word ptr [1980]'             │
  317.         │                             │ 'les eax,dword ptr [ebx]'            │
  318.         ├─────────────────────────────┼──────────────────────────────────────┤
  319.         │ 5. '@bx*,*'                 │ 'mov bx,5092'                        │
  320.         │                             │ 'xor word ptr [bx+si],ax'            │
  321.         ├─────────────────────────────┼──────────────────────────────────────┤
  322.         │ 6. '@[bx+si+1024]*          │ 'test word ptr [bx+si+1024],5092'    │
  323.         │                             │ 'xor byte ptr [bx+si+1024],al'       │
  324.         └─────────────────────────────┴──────────────────────────────────────┘
  325.   ~ Use you imagine :-)
  326.  
  327.   6. Search for jumps/calls/pointers on the current offset - [F6] - Reference
  328.  
  329.   7. Search dialogue - [F7]
  330.  
  331.      The history dialogue is consist of the records from the  QVIEW.SRA  file,
  332. where the last searched substrings  are stored.  The last entered substring is
  333. pushing to the top of the stack. The size of history this stack is limited  to
  334. 32 records, and the oldest record is missed on stack overflow.
  335.  
  336.      Control keys:
  337.  
  338.      Up, Down          goto the previous/next record
  339.      F8, Del           delete the current record
  340.      F10               clear the history file
  341.      Enter             pick up the current record from the list
  342.      Esc               exit from the dialog (return no substring)
  343.  
  344. Note:
  345.      it is possible to forbid conducting a file of a history in QVIEW.INI.
  346.  
  347.  
  348. ░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░
  349. ▐▀▄▀ Jumps, tracing, FAR-calls ▄▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀▄▌
  350. ░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░
  351.  
  352.      The program contains a set of functions for simplification  and  increase
  353. of efficiency of your work.
  354.  
  355.  
  356.   1. Go to offset ([F5]).
  357.  
  358.      In HV and AV modes it's allowed to enter the new offset and then to go to
  359.      it. It is possible to pick up the offset from the history list - on [F7].
  360.  
  361.   2. The advanced 'goto' ([Alt]+[G]).
  362.  
  363.      HV, AV: For memory and files is similar to simple 'goto' ([F5]),  for the
  364.      viewing of logic disks mode - transition to sector, ... of physical disks
  365.      - transition to physical sector.
  366.  
  367.      TV: go to a line number (depened of current LineFeed).
  368.  
  369.  
  370.   3. In a disassembler mode (AV) you can follow links (j*,loop*,call),  marked
  371.      with the figures in brackets to the left of the appropriate  commands  of
  372.      the assembler.
  373.  
  374.      Management:
  375.  
  376.      [Shift]+[1]...[Shift]+[9]  - transitions
  377.      [Shift]+[0]  - return (no recurrence - use bookmarks)
  378.  
  379.  
  380.   4. A dump viewing (HV) call  with  an  offset under  the  cursor  in  AV  on
  381.      [Alt]+[J],[W] if 16-bit addressing mode is assumed  or  [Alt]+[J],[D]  if
  382.      32-bit addressing mode is.
  383.      Return from HV to AV on a position of a call on [Alt]+[J].
  384.  
  385.      The meaning of this function becomes clear from the following example:
  386.  
  387.      1. AV:
  388.  
  389.      000009A2: BA170B mov dx, 0B17
  390.                  ^^ here is the cursor in AV befor the call; [Alt]+[J],[W]
  391.      000009A5: B409 mov ah, 09
  392.      000009A7: CD21 int 21
  393.   
  394.      2. Automatically we get in HV on the following fragment:
  395.  
  396.      000B17: 0A 0D 43 41│4C 43 20 5B│2F 3F 5D 5B│2F 73 5D 5B  ..CALC [/?][/s][
  397.      000B27: 2F 2A 5D 0A│0D 24 20 20│20 20 20 2F│73 20 2D 20  /*]..$     /s -
  398.   
  399.      Here we jump as we want to, and then use [Alt]+[J] to come back in AV  on
  400.      the point 1.
  401.  
  402.   
  403.   5. It is possible to call a FAR-procedure in the viewed file from the cursor
  404.      in an AV mode on [Alt]+[C]. The program's screen is swapped out at  start
  405.      of procedure, then the user screen is restored and the procedure started.
  406.      On exit from this procedure the program's screen is restored. The  super-
  407.      vision of work is not provided.
  408.      Purpose: debug of the short programs, for example:
  409.      mov al,2Eh; out 70h,al; jmps $+2; out 71h,al; retf.
  410.  
  411.  
  412.      See also: 'Bookmarks', 'Mouse support'.
  413.  
  414.  
  415. ░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░
  416. ▐▀▄▀ A few words about the internal assembler ▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀▄▌
  417. ░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░
  418.  
  419.    Generally, the assembler syntax is the same as one of the disassembler.  Do
  420. not forget about type reduction where needed,  but generaly defaults are used.
  421. For the jumps - 'short','near',etc. are absent as a class, the FAR defaults or
  422. the 'byte (word, dword, pword) ptr'  constructions  are  used (so  'byte'  for
  423. 'short', 'word(dword)' for 'near', 'pwrod' for 'far').
  424.  
  425.  
  426. ░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░
  427. ▐▀▄▀ Block operations ▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀▄▌
  428. ░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░
  429.  
  430.   All common block operations are supported.
  431.  
  432.     [Shift-F2] - write marked block to the file                   (HV,AV)
  433.     [Shift-F3] - read block from a file to the marked block       (HV,AV)
  434.     [Shift-F4] - delete marked block                              (HV,AV)
  435.     [Shift-F5] - insert block from a file to the current position (HV,AV)
  436.     [Ins]      - mark the start/end of the block, clear marks     (HV,AV)
  437.     [Ctrl-F4]  - insert block of 0h-bytes at the current position (Text,HV,AV)
  438.     [Ctrl-F5]  - delete block of bytes from the current position  (Text,HV,AV)
  439.     [Alt-A]    - mark the whole file as a block [HV,AV]
  440.  
  441.  1. At writing a block there is a following dialogue:
  442.  
  443.    ┌────────────────────────── Write block to file ─────────────────────────┐
  444.    │                                                                        │
  445.    │ Block : Begin :  00000000     End :  00000000     Length :  00000000   │
  446.    │                                                                        │
  447.    │ File  : ░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░   │
  448.    │                                                                        │
  449.    │ Offset: ░░░░░░░░    Save as :   (*) Code  ( ) Dump  ( ) Assembler      │
  450.    │                                                                        │
  451.    └────────────────────────────────────────────────────────────────────────┘
  452.  1.1. First line is the block parameters (start, end, size).
  453.  1.2. Use [Tab] to switch between the dialogue fields.
  454.  1.3. Use [Enter] to write a block, [Esc] to cancel operation.
  455.  1.4. Use [Space] at ( ) Code, ( ) Dump or ( ) Assembler to set the type of
  456.       the output.
  457.  1.5. 'Offset' is the offset in the output file to start writing at. By default
  458.       0 is assumed. If the offset is greater than the file size, the block will
  459.       be appended to the end of the file. Use the  FFFFFFFFh  offset to write a
  460.       block to the end of file (i.e. to append a block) for sure.
  461.  1.6. In the Dump mode the filter is used for the output:  00-31 ASCII  symbols
  462.       are skipped.
  463.  1.7. In the Assembler mode the assembler listing is written.
  464.  
  465.  2. When reading a block from a file, if the number of bytes from Offset to the
  466.     end of the input file smaller than the marked block size the  "Illegal off-
  467.     set in file" message is appeares.
  468.  
  469.  
  470. ░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░
  471. ▐▀▄▀ Bookmarks ▄▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀▄▌
  472. ░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░
  473.  
  474.      You may use bookmarks to store the current position and then easily resto-
  475. re it. [Alt]+[+] stores the current position, [BS] restores one  of the current
  476. bookmark and so on. For each view mode (text/hex/asm) there are 9 bookmarks may
  477. be used. Use [Alt]+[1]...[Alt]+[9] to restore any of the stored position.
  478.  
  479.      [Alt]+[+]             - store the current position
  480.      [BS]                  - go to the current bookmark's position
  481.      [Alt]+[1]...[Alt]+[9] - go to the position of the bookmark number 1..9
  482.      [Alt]+[-]             - clear (remove) the current bookmark
  483.      [Alt]+[0]             - clear (remove) all bookmarks
  484.  
  485.  
  486. ░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░
  487. ▐▀▄▀ Calculator ▄▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀▌
  488. ░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░
  489.  
  490.      The powerfull calculator with the  complete  set  of  the arithmetical and
  491. logical functions is built-in.  Use Ctrl-[F6] to call the  calculator.  You may
  492. use four modes to input the expression in:  Dec, Hex, Oct, Bin.  Also  you  may
  493. force the type reduction by typing the one of the  next  symbols  at the end of
  494. the numbers: d - Dec, h - Hex, o - Oct, b - Bin. All numbers are represented by
  495. double word (32 bits). Operations with an equal priority are normally performed
  496. from left to right.  Expressions  within the parentheses are  evaluated  before
  497. being treated as a single operands.
  498.  
  499.      Operation precedence (priority):
  500.         ┌─┬──────────────────┬───────────────────────────────────────────┐
  501.         │1│ (, )             │ parentheses                               │
  502.         │2│ ~, -             │ not, unary_minus                          │
  503.         │3│ <<, >>           │ shl, shr                                  │
  504.         │4│ *, /, %, &, |, ^ │ mul, div, mod, and, or, xor               │
  505.         │5│ +, -             │ add, sub                                  │
  506.         └─┴──────────────────┴───────────────────────────────────────────┘
  507.      Note: a highest level of a priority is 1
  508.  
  509.      Keys:
  510.          F2    - Dec default
  511.          F3    - Hex default
  512.          F4    - Oct default
  513.          F5    - Bin default
  514.          Enter - Evaluate
  515.          Esc   - Exit
  516.  
  517.  
  518. ░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░
  519. ▐▀▄▀ Crypt-system ▄▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀▌
  520. ░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░
  521.  
  522.      On my point of view, the compilers-interpreters programming is an ungrate-
  523. ful task. Besides that it is requires a sizeable memory resources, etc.  I have
  524. analized known crypt-systems such as one in Hiew, Proview and others (let's de-
  525. fine the crypt-system as an automatical or semi-automatical mechanism of a file
  526. editing) and have found all of them too narrow-featured for the real hacker. So
  527. I've choosen my own way. Ofcause, there are also some limits in my program, but
  528. it has a wider potentialities than the others. But any coin has two sides,  and
  529. the reverse side is that the clearness and control of the crypt-system work are
  530. lost. But to my mind it is a low price for the great inherent potentialities  -
  531. just be carefull and everything will be Ok!
  532.  
  533.      So:
  534.  
  535.      1. Crypt-system works with a marked block up to 64000 bytes of size in the
  536. normal mode, so don't forget to pick up the block to be crypted.
  537.  
  538.      2. Crypt is a FAR-procedure called by a viewer, so don't forget to add the
  539. RETF instruction to the end of it!
  540.  
  541.      3. Viewer transfers the parameters  to  the  crypt procedure  through  the
  542. registers:
  543.              DS:SI - start address of the block to be crypted
  544.              CX    - size of the block to be crypted
  545.              ES:DI - the area of the crypt procedure
  546.  
  547.      4. All i486 instructions are allowed in the crypt procedure.
  548.  
  549.      5. Viewer doesn't supervise the work of the crypt procedure. Do not forget
  550. to pop up all data pushed to the stack!  So,  take  care of the crypt procedure
  551. correctness - I leave it to you.
  552.  
  553.      6. The maximum code and data size of the procedure is 1024 bytes.  Use the
  554. DataOffset field  to change the code and data correlation.  The  data area from
  555. the DataOffset up to the 1024 bytes is fixed,  so you may  directly access this
  556. area. It holds the crypt procedure local variables, tables, etc.  Assembling is
  557. maked into the code area. Program length is limited up to 200 lines.
  558.  
  559.      Control keys:
  560.  
  561.        Up, Down         Move up/down
  562.        Right, Left      Move left/right
  563.        Alt+F1           Assembler editor mode: insert/override
  564.        F1               Help
  565.        F2               Save crypt file
  566.        F3               Load crypt file
  567.        F4               Crypt procedure data section offset
  568.        F5               Go to offset
  569.        F6               Erase crypt procedure
  570.        F7               Clear crypt procedure data section
  571.        F8               Delete current instruction
  572.        F9               Run crypt procedure
  573.        TAB              Toggle assembler/data editor
  574.        ENTER            Assemble instruction
  575.        ESC              Exit without crypting
  576.        and so on...
  577.  
  578.  
  579. ░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░
  580. ▐▀▄▀ Base ▄▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀▌
  581. ░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░
  582.  
  583.      You may change the base (initial) address of the program. It's may be use-
  584. ful when you need to define the start address for the .COM as 100h  or to point
  585. the offset of some command to the desired address. In that case you  may define
  586. the special constant - address base, that is automatically added to the  Offset
  587. and the jump-addresses. To call the dialogue use Ctrl+F2.
  588.  
  589.      Control keys:
  590.  
  591.        Up, Down         Move up/down
  592.        Tab              Next record
  593.        F1...F8          Select 1..8 base
  594.        Enter            Select current base
  595.        F10              Clear program base VA
  596.        ESC              Abort operation
  597.  
  598.      Base symbols:
  599.  
  600.        '+','-'          Sign of the base constant
  601.        '*'              Auto-change  the current offset to the constant after
  602.                         '*'.  So when needed to redefine the current  offset,
  603.                         e.g. 1893h, to the new one, let's say 200h, then just
  604.                         type *200h.
  605.  
  606.   Note: the dialogue may be also called with a mouse (see 'Mouse support').
  607.  
  608.  
  609. ░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░
  610. ▐▀▄▀ File of a histiry of viewings and its dialog ▄▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀▌
  611. ░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░
  612.  
  613.      The history file stores the information about the viewed files such as the
  614. current file offset (note: if the size of the file was chanched since the  last
  615. view, the 0 offset is accepted), LineFeed, view mode, Wrap/Unwrap status,  both
  616. standard and assembler search options (but not the searched substrings itself),
  617. bookmarks.  When  you  call the same file to view again, all these settings are
  618. restored from the history file.
  619.  
  620.      The history file is logged automatically  and one on all the viewed files.
  621. The history file is located in the same directory that the QView is. The histo-
  622. ry file is updated on exit from the QView. The size of this file is limited  up
  623. to a 32 records.
  624.  
  625.      The views history dialogue allows the record deletion and fast'n'easy file
  626. management. Use [Alt]+[F7] to call this dialogue box.
  627.  
  628.      Control keys:
  629.  
  630.        Up, Down         goto the the previous/next record
  631.        F8, Del          delete the current record
  632.        F10              clear the history file
  633.        Enter            pick up the current record from list
  634.        Esc              exit from the dialogue (return no substring)
  635.  
  636.      Extra managment of the history of vieweings file available. You can browse
  637. this history file loading previously viewed files in order they stored in list.
  638.  
  639.      Control:
  640.  
  641.      Ctrl+Tab           loads the next file from the views history list
  642.      Shift+Tab          loads the previous file from the views history list
  643.  
  644. Note:
  645.      it is possible to forbid conducting a file of a history in QVIEW.INI.
  646.  
  647.  
  648. ░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░
  649. ▐▀▄▀ Configuration files ▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀▌
  650. ░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░
  651.  
  652. N.B. Q-Setup program exist to help you to configure the viewer as you prefer.
  653.      Q-Setup works in interactive (menu) mode.  Refer the q-setup.doc for the
  654.      details.
  655.  
  656. ╓─═ QVIEW.INI ═══─────────────────────────────────────────────────────────────╖
  657.     ~~~~~~~~~
  658.  1. Configuration file:
  659.  
  660.       Name        : QVIEW.INI
  661.       Size        : 87 bytes
  662.       Type        : optional (the defaults are used if absent)
  663.       Description : Default colors and options override
  664.       Location    : with QVIEW.EXE
  665.  
  666.  2. Format:
  667.  
  668. ;--- Ini file data ----------------------------------------------------------
  669. IniHeader     db      'AGC231'
  670. IniAttrib:
  671. ;--- Information line colors ------------------------------------------------
  672. cCopyRight    db      70h                ; Copyright string color
  673. cFileName     db      79h                ; File name color
  674. cFileSize     db      70h                ; Color of file size
  675. cTxtOutOfs    db      74h                ; Color for output offset
  676. ;--- Status/help line colors ------------------------------------------------
  677. cStLineKey    db      74h                ; Status line key color
  678. cStLineMes    db      70h                ; Status line message color
  679. cStLineGray   db      78h                ; Status line message grayed color
  680. ;--- Input line colors ------------------------------------------------------
  681. cInpLineTxt   db      8Eh                ; Input line text
  682. cInpLineHex   db      8Ah                ; Input line hex
  683. cEditBG       db      70h                ; Input line BG
  684. ;--- Dialog boxes colors ----------------------------------------------------
  685. cDlgBox       db      7Fh                ; Dialog box background with frame
  686. cDlgHeader    db      7Eh                ; Dialog box header
  687. cDlgText      db      70h                ; Dialog box text
  688. cDlgScrBar    db      0Eh                ; Dialog box scroll bar
  689. cDlgCursor    db      9Eh                ; Dialog box cursor attr
  690. cGrpTxt       db      30h                ; Group box attr
  691. cGrpGray      db      38h                ; Group box grayed item
  692. cGrpHeader    db      7Fh                ; Group box header
  693. cGrpFrame     db      70h                ; Group box frame
  694. cGrpHigh      db      7Ah                ; Group highlite header
  695. ;--- Text view mode colors --------------------------------------------------
  696. ctvAttrOut    db      87h                ; Attributes for output chars
  697. ctvMarkOut    db      70h                ; Searched value highlight
  698. ctvDivider    db      8Fh                ; Symbols
  699. ctvNumber     db      8Bh                ; Numbers
  700. ctvComment    db      83h                ; Comment string attribut
  701. ctvString     db      8Dh                ; Strings color
  702. ;--- Dump view mode colors --------------------------------------------------
  703. chvAttrOut    db      87h                ; Main color
  704. chvByteHexOut db      87h                ; Bytes hex out color
  705. chvByteAscOut db      87h                ; Bytes ascii out color
  706. chvCursorAttr db      3Fh                ; Cursor color
  707. chvMarkOut    db      70h                ; Searched value highlight
  708. chvDivider    db      8Fh                ; Symbols
  709. chvChgHexOut  db      8Ah                ; Changed bytes color hex out
  710. chvChgAscOut  db      8Eh                ; Changed bytes color asc out
  711. chvNewHexOut  db      8Bh                ; HV new bytes color hex out
  712. chvNewAscOut  db      8Fh                ; HV new bytes color ascii out
  713. chvBlkHexMark db      8Eh                ; Mark block color hex
  714. chvBlkAscMark db      8Ah                ; Mark block color ascii
  715. ;--- Assembler view mode colors ---------------------------------------------
  716. cavAttrOut    db      87h                ; Attributes for output chars
  717. cavCodeField  db      8Fh                ; Instr code field
  718. cavCursorAttr db      3Fh                ; Cursor color
  719. cavMarkOut    db      70h                ; Searched value highlight
  720. cavDivider    db      8Fh                ; Symbols
  721. cavNumber     db      8Bh                ; Numbers
  722. cavJmpField   db      83h                ; Jmp field
  723. cavAsmField   db      87h                ; Instr. field
  724. cavComment    db      83h                ; Comment string attribut
  725. cavChgHexOut  db      8Ah                ; Changed bytes color hex out
  726. cavNewHexOut  db      8Bh                ; AV new bytes color
  727. cavBlkHexMark db      8Eh                ; Mark block color hex
  728. cavBlkAscMark db      8Ah                ; Mark block color ascii
  729. ;--- Help window colors -----------------------------------------------------
  730. bHlpWinAttr   db      3Fh                ; Help window frame attr
  731. bHlpTxtAttr   db      30h                ; Help text attr
  732. bHlpCurAttr   db      0Fh                ; Help cursor attr
  733. bHlpTxtHigh1  db      3Eh                ; Highlight group 1
  734. bHlpTxtHigh2  db      3Fh                ; Highlight group 2
  735. bHlpTxtHigh3  db      3Ah                ; Highlight group 3
  736. bHlpTxtHigh4  db      3Bh                ; Highlight group 4
  737. ;--- Other colors -----------------------------------------------------------
  738. cIntro        db      04h                ; Intro color
  739. ScrBarAttr    db      83h                ; Attr Scroll Bar
  740. ;--- Other options ------------------------------------------------15 bytes--
  741. OtherParms:
  742. OutMode     db      0         ; Output mode  0-TV, 1-HV, 2-AV
  743. WrapLog     db      1         ; TextWrap 0FFh-Wrap, 01h-UnWrap
  744. SearchOpt   db      0FFh      ; Case sentensivity 01 - On, 0FFh - Off
  745. PercentCnt  db      0FFh      ; ScrollBar 0FFh, Percent counter 01h
  746. LFCurPos    db      5         ; 0-CRLF,1-CR,2-LF,3-NULL,4-LFCR,5- None,6-AUTO
  747. DefSegSize  db      16        ; Segment size 10h-16, 20h-32
  748. UndocOper   db      1         ; Undoc operation - (not use)
  749. bStepValue  db      1         ; AsmSr Step 01h-Command, 0FFh-Byte
  750. bAreaValue  db      1         ; AsmSr Area 01h-File, 0FFh-Block
  751. bOffsValue  db      1         ; AsmSr Offs 01h-Begin, 0FFh-CurOfs
  752. bTypeValue  db      1         ; AsmSr Type 01h-Full, 0FFh-Small
  753. bAutoHis    db      1         ; Auto history 01h-On, 0FFh-Off
  754. bCharSet    db      0         ; 0-Alt, 1-Win, 2-KOI
  755. bCmdOpTab   db      7         ; TabSize from BegCmd to operands
  756. CalcMode    db      1         ; 0-Dec, 1-Hex, 2-Oct, 3-Bin
  757. AdvancedOpt db      0FFh      ; Search with mask
  758. UseCharSet  db      1         ; Search with use current CharSet
  759. bAVEdBGChar db      ' '       ; AV edit cmd BG char
  760. bEditEnable db      1         ; Enable editing file after run viewer
  761. bTabONFlag  db      1         ; Tab symbols on
  762. bZoomWinFlg db      1         ; Zooming window enable/disable
  763.  
  764.  Note: the defaults are taken from the QVIEW.EXE.
  765.  
  766. ╓─═ QVIEW.EHL ═══─────────────────────────────────────────────────────────────╖
  767.     ~~~~~~~~~
  768.                                                      See the world coloured ;)
  769.  
  770.   Name        : QVIEW.EHL
  771.   Size        : variable
  772.   Type        : optional
  773.   Description : adjustment of options of the viewer on the file's extensions
  774.   Location    : with QVIEW.EXE
  775.   Record size : 48 bytes
  776.  
  777. ┌──────────┬───────┬─────────────┬────────────────────────────────────────────┐
  778. │  Field   │ Size  │  Example    │               Description                  │
  779. │          │(bytes)│             │                                            │
  780. ├──────────┼───────┼─────────────┼────────────────────────────────────────────┤
  781. │FileExt   │  4    │'ASM',0      │File extension                              │
  782. │OutMode   │  1    │ 0           │Output mode  0-TV, 1-HV, 2-AV               │
  783. │WrapFlg   │  1    │ 1           │TextWrap 0FFh-Wrap, 01h-UnWrap              │
  784. │LFChar    │  1    │ 6           │0-CRLF,1-CR,2-LF,3-NULL,4-LFCR,5-None,6-AUTO│
  785. │CharSet   │  1    │ 0           │0-Alt, 1-Win, 2-KOI                         │
  786. │EditFlg   │  1    │ 0FFh        │Enable editing file after run viewer        │
  787. │TabONFlg  │  1    │ 1           │Tab symbols on                              │
  788. │TVHighFlg │  1    │ 1           │Global highlight in TV (01-On,0FFh-Off)     │
  789. │TVCommChar│  5    │';',4 dup (0)│Single-character comments start             │
  790. │TVComm1Str│  6    │ 6 dup (0)   │Sinle-line commet first string              │
  791. │TVCommBeg │  6    │ 6 dup (0)   │Multi-line commet first string              │
  792. │TVCommFlg │  1    │ 1           │Comments highlight flag                     │
  793. │TVNumFlg  │  1    │ 1           │Numerals highlight flag                     │
  794. │TVDivFlg  │  1    │ 1           │Dividers highlight flag                     │
  795. │TVStrFlg  │  1    │ 1           │"string"-strings highlight flag             │
  796. │TVStrFlg1 │  1    │ 1           │'string'-strings highlight flag             │
  797. │Reserved  │  15   │ 15 dup (0)  │Reserved                                    │
  798. └──────────┴───────┴─────────────┴────────────────────────────────────────────┘
  799.  
  800. ╓─═ QVIEW.FMG ═══─────────────────────────────────────────────────────────────╖
  801.     ~~~~~~~~~
  802.  
  803.  1. Configuration file:
  804.  
  805.       Name        : QVIEW.FMG
  806.       Size        : 417 bytes (01A1h)
  807.       Type        : optional (the defaults are used if absent)
  808.       Description : file panel (manager) options override
  809.       Location    : with QVIEW.EXE
  810.  
  811.  2. Format:
  812.  
  813. ;--- Configuration options ------------------------------------------------
  814. FmgHeader         db   'AGC250' ; Header
  815. bfimaSysFileColor db   0FFh     ; Highlight Sys,Hid,SysHid files (0FFh - Off, 01h - On)
  816. bfimaSysDirColor  db   0FFh     ; Highlight Sys,Hid,SysHid directory (0FFh - Off, 01h - On)
  817. bfimaExecToBegin  db   1        ; Executable files to begin (0FFh - Off, 01h - On)
  818. bSortCurPos       db   2        ; Sorting method (0-Unsorted,1-By name,2-By extension,3-By size,4-By Date&Time)
  819. bfimaPanelMode    db   0        ; Panel show mode (0-Brief, 1-Full)
  820. ;---Highlights group extension --------------------------------------------
  821. ; Format: 64 bytes per group, 4 bytes per extension, all unmeaning bytes
  822. ; should be filled with zero.
  823. ;
  824. bfimaHighExec     db   'bat',0,'com',0,'exe',0,52 dup (0)
  825. bfimaHighFiles1   db   'pas',0,'asm',0,'inc',0,'c',0,0,0,'cpp',0,44 dup (0)
  826. bfimaHighFiles2   db   '.',0,0,0,'doc',0,'txt',0,'ctl',0,'diz',0,'ini',0,'cfg',0,36 dup (0)
  827. bfimaHighFiles3   db   'dbf',0,'wkz',0,'wks',0,'123',0,'wk',0,0,44 dup (0)
  828. bfimaHighFiles4   db   'tmp',0,'$$$',0,'bak',0,52 dup (0)
  829. bfimaHighFiles5   db   'pcx',0,'bmp',0,'pic',0,'gif',0,'rle',0,'ico',0,'jpg',0,36 dup (0)
  830. ;--- File panel colors ----------------------------------------------------
  831. cfpWindow         db   1Bh      ; Window color
  832. cfpGreed          db   1Bh      ; Greed color
  833. cfpPath           db   1Eh      ; Window header (path to directory) color
  834. cfpTitle          db   1Fh      ; Column headers color
  835. cfpFiles          db   1Fh      ; File color
  836. cfpFileMark       db   1Eh      ; Marked files color
  837. cfpCursor         db   07h      ; Bar cursor color
  838. cfpFileInfo       db   1Eh      ; Full info about file color
  839. cfpScrlBar        db   07h      ; Scroll bar color
  840. cfpDirectory      db   1Ah      ; Directory color
  841. cfpHidden         db   17h      ; Hidden files color (if bfimaSysFileColor==1)
  842. cfpSystem         db   1Bh      ; System files color (if bfimaSysFileColor==1)
  843. cfpHidSys         db   13h      ; Hidden&System files color (if bfimaSysFileColor==1)
  844. cfpDirHidden      db   17h      ; Hidden directory color (if bfimaSysDirColor==1)
  845. cfpDirSystem      db   1Bh      ; System directory color (if bfimaSysDirColor==1)
  846. cfpDirHidSys      db   13h      ; Hidden&System directory color (if bfimaSysDirColor==1)
  847. ;--- File highlighting colors ---------------------------------------------
  848. cfpFileExec       db   1Bh      ; Executable files color
  849. cfpFileHigh1      db   13h      ; Highlight group 1 color
  850. cfpFileHigh2      db   12h      ; Highlight group 2 color
  851. cfpFileHigh3      db   15h      ; Highlight group 3 color
  852. cfpFileHigh4      db   14h      ; Highlight group 4 color
  853. cfpFileHigh5      db   11h      ; Highlight group 5 color
  854. ;--- End configuration options --------------------------------------------
  855.  
  856.  
  857. ░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░
  858. ▐▀▄▀ Help file (QVIEW.HLP) ▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀▌
  859. ░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░
  860.  
  861.      The help file is a plain cp866 text file and contains a text appeared  on
  862. [F1] key press in the viewer. The text is divided into the topics. Every topic
  863. is started with its identifier [xxxx], where  xxxx  is the topic  number.  The
  864. last topic  [!END] is always empty.  The  number  of  strings in each topic is
  865. limited up to a 100, the superfluous strings are ignored. The string length is
  866. limited up to a 70 symbols, the superfluous symbols are also ignored.
  867.  
  868.      For the better perception the colour highlight is applied. There are five
  869. highlight groups from 0 to 4, where the first (0) colour is the basic one  for
  870. the help text output. To appoint the colour an '!x' combination is used, where
  871. x is the group number. The new colour setting, the space symbol and the end of
  872. the string are reset the current colour setting to the new or the basic one.
  873.  
  874.      The help file is optional as well as the any topic in it.  You may remove
  875. some topics or the whole file if you want to, but note that some control  keys
  876. are described only in the help file.
  877.  
  878.      So, you may include everything you want to the topics.
  879.  
  880.  
  881. ░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░
  882. ▐▀▄▀ User character table redefining file (QVIEW.CHR) ▄▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀▌
  883. ░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░
  884.  
  885.      Now you can easily create your own code table in addition  to the default
  886. ones. These tables are stored in the QVIEW.CHR file.
  887.  
  888.      Q-Setup utility is supplied  to make  it easy to create and edit your own
  889. charcter table definition file. You're just to create plain text file with the
  890. recode definitions and compile it then with the help of Q-Setup.  Please refer
  891. the q-setup.doc file for the details.
  892.  
  893. ╓─═ QVIEW.CHR ═══─────────────────────────────────────────────────────────────╖
  894.     ~~~~~~~~~
  895.  
  896.   Name        : QVIEW.CHR
  897.   Size        : 1071 bytes
  898.   Type        : optional
  899.   Description : user-defined character tables support
  900.   Location    : with QVIEW.EXE
  901.  
  902. ┌──────────┬──────┬─────────────┬────────────────────────────────────────────┐
  903. │  Field   │ Size │    Data     │               Description                  │
  904. │          │(byte)│             │                                            │
  905. ├──────────┼──────┼─────────────┼────────────────────────────────────────────┤
  906. │Header    │  6   │'AGC242'     │ Version identifier                         │
  907. │CharSetCnt│  1   │ 1..4        │ The number of code tables in file          │
  908. │TableName1│  10  │ table name  │ The 1st table name                         │
  909. │TableName2│  10  │ table name  │ The 2nd table name                         │
  910. │TableName3│  10  │ table name  │ The 3rd table name                         │
  911. │TableName4│  10  │ table name  │ The 4th table name                         │
  912. │TableData1│  256 │ 1st table   │ 1st table                                  │
  913. │TableData2│  256 │ 2nd table   │ 2nd table                                  │
  914. │TableData3│  256 │ 3rd table   │ 3rd table                                  │
  915. │TableData4│  256 │ 4th table   │ 4th table                                  │
  916. └──────────┴──────┴─────────────┴────────────────────────────────────────────┘
  917.  
  918.  Notes for the fields format TableData1..TableData4:
  919.  ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  920.  1. Redefinition is available for the second half of the  ASCII table only
  921.     (ASCII 128..255).
  922.  2. Fist 128 bytes: characters from the current code table accorded to the
  923.     ones of the redefined table, with codes in range of 128..255.
  924.  3. Second 128 bytes: vise versa.
  925.  
  926. E.g.:
  927.  
  928. win2ansi          DB      176,177,178,179,180,181,182,183  ;128
  929.                   DB      184,185,186,187,188,189,190,191  ;136
  930.                   DB      192,193,194,195,196,197,198,199  ;144
  931.                   DB      200,201,202,203,204,205,206,207  ;152
  932.                   DB      208,209,210,211,212,213,214,215  ;160
  933.                   DB      216,217,218,219,220,221,222,223  ;168
  934.                   DB      240,241,242,243,244,245,246,247  ;176
  935.                   DB      248,249,250,251,252,253,254,255  ;184
  936.                   DB      128,129,130,131,132,133,134,135  ;192
  937.                   DB      136,137,138,139,140,141,142,143  ;200
  938.                   DB      144,145,146,147,148,149,150,151  ;208
  939.                   DB      152,153,154,155,156,157,158,159  ;216
  940.                   DB      160,161,162,163,164,165,166,167  ;224
  941.                   DB      168,169,170,171,172,173,174,175  ;232
  942.                   DB      224,225,226,227,228,229,230,231  ;240
  943.                   DB      232,233,234,235,236,237,238,239  ;248
  944.  
  945. ansi2win          DB      192,193,194,195,196,197,198,199  ;128
  946.                   DB      200,201,202,203,204,205,206,207  ;136
  947.                   DB      208,209,210,211,212,213,214,215  ;144
  948.                   DB      216,217,218,219,220,221,222,223  ;152
  949.                   DB      224,225,226,227,228,229,230,231  ;160
  950.                   DB      232,233,234,235,236,237,238,239  ;168
  951.                   DB      128,129,130,131,132,133,134,135  ;176
  952.                   DB      136,137,138,139,140,141,142,143  ;184
  953.                   DB      144,145,146,147,148,149,150,151  ;192
  954.                   DB      152,153,154,155,156,157,158,159  ;200
  955.                   DB      160,161,162,163,164,165,166,167  ;208
  956.                   DB      168,169,170,171,172,173,174,175  ;216
  957.                   DB      240,241,242,243,244,245,246,247  ;224
  958.                   DB      248,249,250,251,252,253,254,255  ;232
  959.                   DB      176,177,178,179,180,181,182,183  ;240
  960.                   DB      184,185,186,187,188,189,190,191  ;248
  961.  
  962.      Distributed qview.chr file contains the Windows 1251 tables.
  963.  
  964.  
  965. ░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░
  966. ▐▀▄▀ Control keys ▄▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀▌
  967. ░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░
  968.  
  969.      All keys and its descriptions available in the current mode are listed in
  970. the help file. Just hit [F1] to call it when in QView.
  971.  
  972.      To get the list of all QView control key simply remove all control symbols
  973. from the QVIEW.HLP to get a plain MS-DOS text file.  But we recommend that  you
  974. keep the copy of the original QVIEW.HLP because of the colour cacophony.
  975.  
  976.  
  977. ░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░
  978. ▐▄▀▄ Mouse support ▄▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀▄▌
  979. ░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░
  980.  
  981.      Generally the viewer has a full mouse support, except a  few  seldom-used
  982. dialogues. As I see,  there won't be any cardinal changes. Always use the left
  983. mouse button. On the right one there is a mark-line (ruler) a`la  DosNavigator
  984. Editor.
  985.      After start the mouse cursor is always placed in the left top corner.
  986.  
  987.                        So, a few notes about the mice ;)
  988.                        ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  989.  
  990.                                   Status line
  991.                                   ~~~~~~~~~~~
  992.      At the status (information) line the left mouse button click implements:
  993.  
  994. ───────────────────────────────────────────────────────────────────────────────
  995. [] Filename.ext YYYYYYYY  xxxxxxxx_ 12■-5----▐ 00 I ▐ QView 2.60▐ AGC Products
  996. ───────────────────────────────────────────────────────────────────────────────
  997. ├┘ └─────────┬┘           └──┬───┘│ │└───┬───┘│ ├┘
  998. Exit from    │          Jump to   │ │    │    │ Mode change
  999. the viewer   │          offset    │ │    │    │ between
  1000. (Similar to  │          in HV,AV  │ │    │    │ TV, HV, AV
  1001. ESC key)     │          (Similar  │ │    │    │ (Similar to: Enter,F4)
  1002.              │          to F5 key)│ │    │    └───────────┐
  1003.     ┌────────┘   ┌────────────────┘ │    │                │
  1004.     │            │          ┌───────┘    │                │
  1005. File panel      Call    Save cur.   Go to the         Return from jump
  1006. call         BaseOfs    position    pointed           in AV (Similar 
  1007. (Alt-F6)      dialog    to the      bookmark          to Shift+'0')
  1008.            (Ctrl+F2)    BookMarks   (Similar 
  1009.                         (Alt+'+')   to Alt+'1'... Alt+'9')
  1010.  
  1011.                                   TV mode
  1012.                                   ~~~~~~~
  1013.      In the window of viewing the left mouse button click is:
  1014.  
  1015. 1. In the first column: scrolls text left;
  1016. 2. In the last column (befor the ScrollBar): scrolls text right;
  1017. 3. In the top half of screen: scrolls text one line up;
  1018. 4. In the bottom half of screen: scrolls text one line down.
  1019.  
  1020.                                   HV mode
  1021.                                   ~~~~~~~
  1022.      In the window of viewing the left mouse button click is:
  1023.  
  1024. 1. Scrolls up, down, left or right according to the cursor position,
  1025.    increases/decreases file offset;
  1026. 2. Switches between the hex/ASCII input when the edit mode is on.
  1027.  
  1028.                                   AV mode
  1029.                                   ~~~~~~~
  1030.      In the window of viewing the left mouse button click is:
  1031.  
  1032. 1. Scrolls up, down, left or right according to the cursor position;
  1033. 2. Switches between the hex/ASCII input when the edit mode is on.
  1034. 3. Traces the jump/call, etc. command when clicked on (1)...(9).
  1035.  
  1036.  
  1037. ░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░
  1038. ▐▄▀▄ .CRK-files support ▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀▄▌
  1039. ░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░
  1040.  
  1041.      1. All changes made could be saved in .CRK file with [Shift]+[F9].
  1042.  
  1043.      2. Function of upgrade the current file with the crack file information -
  1044.         [Ctrl]+[F8].
  1045.  
  1046.      Description of the upgrade function:
  1047.  
  1048.            1. The first dialogue requires the base address of crack. It is
  1049.               only needed in case to change the base address stored in crack
  1050.               file. The address you put here becomes the base (first)
  1051.               address, and all the other crack addresses are changed by the
  1052.               required offset automatically.
  1053.  
  1054.            2. The second dialogue requires the crack file name.
  1055.  
  1056.      Notes:
  1057.            1. The crack file format is fixed!!! It must include the crack
  1058.               only, i.e. the strings like this: '12345678: 12 34',0Dh,0Ah.
  1059.               First eight characters are the crack address (offset) - use the
  1060.               leading '0' if required; then ':' followed by the Space symbol;
  1061.               then two numbers devided by space: the old byte & the new byte.
  1062.               The every string should be ended with 0Dh,0Ah (Cariage Return
  1063.               and Line Feed characters).
  1064.  
  1065.            2. Program takes the full crack syntax control. If the string
  1066.               causes the problem, it's number is indicated. The problem may
  1067.               occure in a two cases: either the string syntax is illegal or an
  1068.               old byte in the crack file is not equal to one found in the
  1069.               current file. The byte is changed only if all the requirements
  1070.               are satisfied.
  1071.  
  1072.  
  1073. ░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░
  1074. ▐▄▀▄ The comments for the instructions in AV support ▄▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀▄▌
  1075. ░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░
  1076.  
  1077.      Viewer has the assembler instruction commenting system in AV  view  mode.
  1078. There're up to 1000 comment lines of 58 characters each could be  handled  (of
  1079. course, all 58 characters could be used in 132*xx video modes only). This sys-
  1080. tem works very simply - all comments with the address dependencies are  stored
  1081. in the file. All operations with this file are produced automatically. You are
  1082. only to read your own comments. So, go on - make your comments! The file  with
  1083. the comments gets the same as the viewed file, and the extenxion '.CMT', so we
  1084. do not recommend that you're comment this file by itself. Well, the system  is
  1085. still crude - we wait for responses...
  1086.  
  1087.      Control:
  1088.  
  1089.      Alt+E          insert the comment for the current instruction (line)
  1090.      Alt+Left       jump to the previous comment
  1091.      Alt+Right      jump to the next comment
  1092.    
  1093.      The sequence of transitions between the comments is depended on the order
  1094. comments were entered to the file, not on the addresses of the commands.
  1095.  
  1096.  
  1097. ░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░
  1098. ▐▄▀▄ Editing of a file in a text mode (TV) ▄▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀▄▌
  1099. ░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░
  1100.  
  1101.      You can edit textual files in a TV mode. The editor works "on-fly",  i.e.
  1102. all changes you made are stored in a file immediatly. Length of a line  is now
  1103. limited to about 255+ScreenSize symbols, though to the editor takes no care of
  1104. it, i.e. it will also work with lines of greater length, but  the  positioning
  1105. to end of a line will not be correct on long lines.  As soon as possible  I'll
  1106. solve this problem.
  1107.  
  1108.      All base operations are supported: insert/overwrite;  deletion  of a sym-
  1109. bols, lines, symbols up to the end of a line; block operations such as:  mark,
  1110. delete, store in the buffer, insert from the buffer, unmark. The  last  stored
  1111. block is kept in the catalogue, in which qview.exe is, in a file qview.blk.  A
  1112. block could be inserted inspite of whether it has been marked or  not.  If  no
  1113. block currently marked the data will be taken from the qview.blk file (if any).
  1114. All block operation operates with a blocks up to ~64Kb. (Actually, the  length
  1115. of the block depends on the size of the buffer:  if there  was  no  sufficient
  1116. amount of memory at start of QView, maximal length of the block could be  less
  1117. than 64Kb).
  1118.  
  1119.      The editor provides the current LineFeed and Char.Set  support, unlimited
  1120. file length and strings number within. The only  one pity thing is that a file
  1121. updates immidiatly when you change some byte, so that the large files will de-
  1122. crease the work speed especcially when you're in the beginning of such a file.
  1123. So you should think to use some caching program. Under the Windows 95 we  have
  1124. not observed any problems with the work speed.
  1125.  
  1126.      Think, I should notice that all other options of viewing such as Wrap/Un-
  1127. wrap, Tab On/Off, etc. are also influent on the editor since it's not an inde-
  1128. pended module of QView, but the superstructure over the TV mode only. So  take
  1129. it easy if the next character is suddenly placed on the  next  line  when  the
  1130. Wrap mode is on. Just set all the options correctly.
  1131.  
  1132.      And the last, but not least. The text editor and full-file  editing  mode
  1133. are the different procedures and works independedly!
  1134.  
  1135.      The text edit mode could be switched on/off by the [F3] button.
  1136.  
  1137.      Keys of the editor:
  1138.  
  1139.      Ins          insert/overwrite mode switch
  1140.      Del,BS       delete a character
  1141.      Ctrl+Y       delete a current string
  1142.      Alt+Y,
  1143.      Ctrl+K       delete all characters right (to the end of line)
  1144.      Shift+Up,
  1145.      Shift+Down,
  1146.      Shift+Left,
  1147.      Shift+Right,
  1148.      Shift+Home,
  1149.      Shift+End,
  1150.      Shift+PgUp,
  1151.      Shift+PgDn   mark a block
  1152.      Ctrl+Del     delete a block
  1153.      Ctrl+Ins     store a block in the buffer
  1154.      Shift+Ins    paste a block from the buffer
  1155.      Alt+U        unmark marked block
  1156.  
  1157.  
  1158. ░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░
  1159. ▐▄▀▄ Extra system functions ▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀▄▌
  1160. ░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░
  1161.  
  1162.   ■ The system time is shown when [Shift] is pressed (TV,HV,AV)
  1163.   ■ The system date is shown when [Ctrl] is pressed (TV,HV,AV)
  1164.   ■ Text strings counter (current linefeed depended) - [Alt]+[C] (TV)
  1165.   ■ The strings dump output to a file in the TV mode with [Shift]+[F3]
  1166.   ■ The current screen output to a file with [Alt]+[P] (TV,HV,AV)
  1167.   ■ In the TV mode you may save the current file recoded to DOS encoding.
  1168.     Use [F9] key.
  1169.     N.B. Do not save the file with the same name!
  1170.   ■ The user (DOS) screen is show with [Alt]+[F5] - UserScr (TV,HV,AV)
  1171.   ■ Edit mode on/off with [Alt]+[F3] plus the setup setting (HV,AV).
  1172.   ■ 'Tabulation symbol support ON/OFF' in TV mode with [Shift]+[F2].
  1173.     (We recommend that you use tabulation off in TV mode with the Wrap mode
  1174.     on - the scrolling of long lines is much faster in that case; binaries
  1175.     especially).
  1176.   ■ Clear string hotkey in the line editors - [Ctrl]+[Y].
  1177.   ■ File panel (file manager) on OpenFile ([Alt]+[F6]).
  1178.  
  1179.  
  1180. ░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░
  1181. ▐▄▀▄ Command-line options and start-up ▄▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀▄▌
  1182. ░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░
  1183.  
  1184. 1. Program start-up ▄
  1185.     ▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀
  1186.   Usage: qview.exe [<filename.ext>] [keys]
  1187.   Keys:  /mt - force text view
  1188.          /md - force dump view
  1189.          /ma - force asm view
  1190.          /r  - read only mode
  1191.  
  1192.  
  1193. ░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░
  1194. ▐▄▀▄ A lot of thanks ▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀▌
  1195. ░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░▒▓█▓▒░
  1196.  
  1197.      Special thanks to Dmitry Gazko  AKA  Dr.Khumen for the first QSetup and
  1198. for the questions discussion.
  1199.  
  1200.      Also a lot of thanks to  Igor Naryshkin  for the new Q-Setup,  creation
  1201. and control over the QVIEW.SUPPORT echo-conference, bug-hunting and  for the
  1202. different questions discussion.
  1203.  
  1204.      ... for everyone sent me a comments, bug-reports and proposales.  Sorry
  1205. if someone missed. Send me a mail... :)
  1206.  
  1207.            Alex Churakow
  1208.            Alex Jivitca
  1209.            Alex Morshchakin
  1210.            Alex Pakhotin
  1211.            Alex S Aganichev
  1212.            Alex Semenyaka
  1213.            Alex Silman
  1214.            Alex Zatvornitski
  1215.            Alex Zemlaykov
  1216.            Alexander Alferowich
  1217.            Alexander Fedenko
  1218.            Alexander Kron
  1219.            Alexander Shursha
  1220.            Alexander Skorodumov
  1221.            Alexander Zacepin
  1222.            Alexandr Gazko
  1223.            Alexey Gogotz
  1224.            Alexey Monastyrenko
  1225.            Anatoly Rodnikov
  1226.            Anatoly Soroka
  1227.            Andrej Zverev
  1228.            Andrew Lazarchuk
  1229.            Andrew Tkachenko
  1230.            Andrey Alekseyev
  1231.            Andrey Prokopishin
  1232.            Andrey Ryabuhin
  1233.            Andrey Siniakov
  1234.            Andy Knyazev
  1235.            Andy Semenov
  1236.            Andy Shevchenko
  1237.            Artem Danilenko
  1238.            Bohdan Troshchinskiy
  1239.            Boris Baskakov
  1240.            Boris Felikson
  1241.            Danil Shubin
  1242.            Dennis B. Kobernic
  1243.            Dmitry Belyi
  1244.            Dmitry Fedotov
  1245.            Dmitry Gazko
  1246.            Dmitry Jemerov
  1247.            Dmitry Shevchenko
  1248.            Dmitry Zavalskov
  1249.            DoubleMan
  1250.            Eugene Lisovy
  1251.            Evgeniy Graznov
  1252.            F0RESTER
  1253.            Igor Dyatlov
  1254.            Igor Naryshkin
  1255.            Igor Pronin
  1256.            Igor Smirnov
  1257.            Igor Vasilchikov
  1258.            Ilgar Veliev
  1259.            Ilia Levin
  1260.            Ilja Evseev
  1261.            Ilya Aniskovets
  1262.            Ilya Kuznetsov
  1263.            Ivan Kuznetsov
  1264.            Kirill Joss
  1265.            Kirill Kutejnikov
  1266.            Kolya Nesterov
  1267.            Konstantin Boldyshev
  1268.            Kostya Volkov
  1269.            Leonid Shirmanov
  1270.            Max Ivanov
  1271.            Max Popov
  1272.            Maxim Shashkov
  1273.            Maximilian Gvozdev
  1274.            Michail Danshin
  1275.            Milan Kosina
  1276.            Misha Ivanov
  1277.            Nikolay Sidoroff
  1278.            Oleg Rombakh
  1279.            Paul Sokolovsky
  1280.            Pavel Chuvanov
  1281.            Pavel Popov
  1282.            Peter Hubinsky
  1283.            Peter Sobolev
  1284.            Peter Teslenko
  1285.            Professor Nimnull
  1286.            Rick Murray
  1287.            Roman Papusha
  1288.            Rusty Davis
  1289.            Sanya Tankeev
  1290.            Sergej Miroshnichenko
  1291.            Sergey Chabunin
  1292.            Sergey Chehuta
  1293.            Sergey Monin
  1294.            Sergey Ovcharenko
  1295.            Sergey Pliusnin
  1296.            Sergey Podolanchyk
  1297.            Sergey Samoyloff
  1298.            Sergey Savchenko
  1299.            Sergey Stukov
  1300.            Sergey Temrezov
  1301.            Sergey Volkov
  1302.            Sergey Zabaryansky
  1303.            Slav Kuznetsov
  1304.            Slava Tarasjuk
  1305.            Stanislav Davidov
  1306.            TERMINATOR
  1307.            Timur Chuzhinov
  1308.            Tony Mantana
  1309.            Vadim Bodrov
  1310.            Vadim Dolganov
  1311.            Vadim Yoockin
  1312.            Vano Sergeev
  1313.            Vasily Idanov
  1314.            Victor Chuchupal
  1315.            Victor Frolov
  1316.            Victor Shantar
  1317.            Viktor Ostashev
  1318.            Vladimir Gordeev
  1319.            Vladimir Kvitnitskiy
  1320.            Vladimir Ruzin
  1321.            Vladimir Soshkin
  1322.            Vovec Tokmakov
  1323.            Wadim A. Sigalov
  1324.            Wowik Mikolenko
  1325.            Yuri Baranow
  1326.            Yuri Onufreeshin
  1327.            Yuri Pohilko
  1328.            Yury Urbanovitch
  1329.            basil vorontsov
  1330.            damir bikmuhametov
  1331.            the unforgiven
  1332.  
  1333. NB: the nobody's desires and offers aren't forgotten - if still not realized,
  1334.     they are waiting for the time to come. All known bugs  I  kill as soon as
  1335.     found them in the ~1.2 Mb of assembler source code. ;)
  1336.  
  1337.  
  1338. ▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀
  1339. P.S.  Any comments, proposals, bug-reports, interesting ideas are welcome!
  1340.       Thank you for your support.
  1341.  
  1342.  
  1343.  With Best Regards,
  1344.                    Alexandr Gazko   AKA
  1345.                                     2:5030/445@FidoNet
  1346.                                     2:5030/445.4@FidoNet
  1347.                                     2:5030/282.4@FidoNet
  1348.                                     2:5030/317.4@FidoNet
  1349.  
  1350.                                                    02:00:00,
  1351.                                                    26-06-98
  1352.                                                           AGC
  1353.  
  1354. ╓─
  1355. ║ Translated by Igor Naryshkin.
  1356. ║ Please e-mail me any corrections on this documement at:
  1357. ║ Fidonet: 2:5030/482,
  1358. ║ Internet: naryshkin@geocities.com, niva@f482.n5030.z2.fidonet.org
  1359. ╙─
  1360.  
  1361.                   ▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓
  1362.                   ▓▓▓╬╬╬╬╬╬▓▓╬╬▓▓╬╬▓▓╬╬╬╬╬╬▓▓╬╬╬╬╬╬▓▓▓▓░░
  1363.                   ▓▓▓╣▒▒▒▒▒▒▓▓╬▒▓╬▒▒▓▓▒╬╬▒▒▒▓▓▒╬╬▒▒▒▓▓▓░░
  1364.                   ▓▓▓╬╬╬╬╬╬▓▓▓▓╬╬▓▒▓▓▓▓╬╬▒▓▓▓▓▓╬╬▒▓▓▓▓▓░░
  1365.                   ▓▓▓╬▒▒▒▒▒▒▓▓╬▓▒╬▓▓▓▓▓╬╬▒▓▓▓▓▓╬╬▒▓▓▓▓▓░░
  1366.                   ▓▓▓╬╬╬╬╬╬▓▓╬╬▒▓╬╬▓▓╬╬╬╬╬╬▓▓▓▓╬╬▒▓▓▓▓▓░░
  1367.                   ▓▓▓▓▒▒▒▒▒▒▓▓▒▒▓▓▒▒▓▓▒▒▒▒▒▒▓▓▓▓▒▒▓▓▓▓▓░░
  1368.                   ▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓░░
  1369.                   ▓▓▓▓▓   Yes    ▓▓▓▓▓▓    No     ▓▓▓▓▓░░
  1370.                   ▓▓▓▓▓▓▓▒▒▒▒▒▒▒▒▒▒▓▓▓▓▓▓▒▒▒▒▒▒▒▒▒▒▒▓▓▓░░
  1371.                   ▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓░░
  1372.                     ░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░
  1373.